#if !defined(_APP_MQTT)
#define _APP_MQTT

#define MQTT_URL "ws://192.168.35.48:1883"
#define MQTT_CLIENT_ID "81d6e9e6-e433-11ef-89ad-e379885dde25"
#define MQTT_SUBSCRIBE_TOPIC "web_to_gateway"
#define MQTT_PUBLISH_TOPIC "gateway_to_web"
#define MQTT_QOS 1  // 至少一次


/**
 * @brief mqtt初始化
 * 
 *  1  mqtt客户端创建   全局一个 （init方法）
    2  客户端回调方法的注册    回调方法，当某种事件触发，由外部自动调用的本地方法。 
     三种事件：失联事件、发送成功事件、有消息到达的事件  （init方法）
    3  mqtt客户端要连接服务端 （init方法）
    4  mqtt 要主动订阅服务的某个主题 subscribe  
 */

int app_mqtt_init();



/**
 *  @brief 发送数据到服务端
 * @param data 发送的数据
 * @param len 发送数据的长度
 */
int app_mqtt_send(char *data, int len);

/**
 *  @brief 注册接受数据后的处理
 *  @param callback_func 回调函数
 */
int app_mqtt_register_recv(int (*callback)(char *data, int len));

/**
 * @brief 销毁客户端
 */
void app_mqtt_destroy();



#endif // _APP_MQTT
